/* let str1: string = 'Hello TS'
const str2: 'Hello TS' = 'Hello TS' */

// 8、'S'、{}、[]
/* const o1 = {} // 字面量的方式
const o2 = new Object() // new 的方式，构造函数 */

/* type Person = {
  // 字面量类型，限制的更严格
  name: 'ifer'
  age: 18
}

const p: Person = { name: 'ifer', age: 18 } */

// 数值字面量类型，表示只能是 18
// let age: 18 = 18

// !字面量类型往往配合联合类型一起使用
/* type Direction = 'up' | 'down' | 'left' | 'right'
function direction(d: Direction) {}
direction('right') */

/* type Gender = '男' | '女'
const sex: Gender = '男' */

// !字面类型配合联合类型在 reducer 中的应用
/* type Action = {
  type: 'TODO_ADD' | 'TODO_DEL' | 'TODO_MODIFY' | 'TODO_EDIT'
}
function todo(state: any, action: Action) {
  switch (action.type) {
    case 'TODO_EDIT':
      return 888
  }
} */

export {}
